﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using NUnit.Framework;
using DomainDriver.DomainModeling.Example.DomainObjects;
using DomainDriver.DomainModeling.GenericUnitTesting;

namespace AutomotivePricingModel.UnitTests.DomainObjects
{
    [TestFixture]
    public class EnumerationDomainObjectTests : DomainObjectTestFixture<EnumerationValue, EnumerationDomainObject>
    {
        private EnumerationValue m_CurrentEnumValue = EnumerationValue.Option1;

        protected override EnumerationDomainObject CreateUniqueDomainObject()
        {
            return new EnumerationDomainObject(m_CurrentEnumValue++);
        }

        protected override ICollection<DomainObjectModifier<EnumerationValue, EnumerationDomainObject>> GetDomainObjectModifiers()
        {
            List<DomainObjectModifier<EnumerationValue, EnumerationDomainObject>> modifiers = new List<DomainObjectModifier<EnumerationValue, EnumerationDomainObject>>();
            modifiers.Add((EnumerationDomainObject domainObject) => domainObject.EF_Index = m_IntUpdateValue3);
            return modifiers;
        }

        [Test]
        public override void VerifyDomainObjectFunctionality()
        {
            base.VerifyDomainObjectFunctionality();
        }
    }
}